$(function() {
	var loading = false;
	// 允许分页返回的最大条数
	var maxItems = 20;
	// 每页显示的条数
	var pageSize = 10;
	// 商品列表的URL
	var listUrl = '/frontend/listproductsbyshop';
	// 页码
	var pageNum = 1;
	// 获取店铺ID
	var shopId = getQueryString('shopId');
	var productCategoryId = '';
	var productName = '';
	// 店铺信息以及商品类别列表URL
	var searchDivUrl = '/frontend/listshopdetailpageinfo?shopId=' + shopId;

	/**
	 * 渲染店铺信息以及商品类别列表
	 */
	function getSearchDivData() {
		var url = searchDivUrl;
		$.getJSON(url,function(data) {
			if (data.success) {
				var shop = data.shop;
				$('#shop-cover-pic').attr('src', shop.shopImg);
				$('#shop-update-time').html(new Date(shop.lastEditTime).Format("yyyy-MM-dd"));
				$('#shop-name').html(shop.shopName);
				$('#shop-desc').html(shop.shopDesc);
				$('#shop-addr').html(shop.shopAddr);
				$('#shop-phone').html(shop.phone);
				// 获取商品类别列表
				var productCategoryList = data.productCategoryList;
				var html = '';
				// 遍历商品列表，生成可以点击搜索相应商品类别下的商品的链接
				productCategoryList.map(function(item, index) {
					html += '<a href="#" class="button" data-product-search-id=' + item.productCategoryId + '>'
							+ item.productCategoryName
							+ '</a>';
				});
				$('#shopdetail-button-div').html(html);
			}
		});
	}
	getSearchDivData();

	/**
	 * 预先加载10条商品
	 * @param pageSize
	 * @param pageIndex
	 */
	function addItems(pageSize, pageIndex) {
		// 拼接查询的URL，空值去掉，赋值查询
		var url = listUrl + '?' + 'pageIndex=' + pageIndex + '&pageSize='
				+ pageSize + '&productCategoryId=' + productCategoryId
				+ '&productName=' + productName + '&shopId=' + shopId;
		// 加载控制，避免重复多次访问后台
		loading = true;
		$.getJSON(url, function(data) {
			if (data.success) {
				maxItems = data.count;
				var html = '';
				data.productList.map(function(item, index) {
					html += '' + '<div class="card" data-product-id=' + item.productId + '>'
							+ '<div class="card-header">'
							+ item.productName
							+ '</div>'
							+ '<div class="card-content">'
								+ '<div class="list-block media-list">'
									+ '<ul>'
										+ '<li class="item-content">'
											+ '<div class="item-media">'
												+ '<img src="' + item.imgAddr + '" width="44">'
											+ '</div>'
											+ '<div class="item-inner">'
												+ '<div class="item-subtitle">' + item.productDesc
												+ '</div>'
											+ '</div>'
										+ '</li>'
									+ '</ul>'
								+ '</div>'
							+ '</div>'
							+ '<div class="card-footer">'
								+ '<p class="color-gray">'
									+ new Date(item.lastEditTime).Format("yyyy-MM-dd")
								+ '更新</p>'
								+ '<span>点击查看</span>'
							+ '</div>'
							+ '</div>';
				});
				$('.list-div').append(html);
				// 获取目前已经渲染的商品总数
				var total = $('.list-div .card').length;
				// 如果店铺加载到设定总数
				if (total >= maxItems) {
					// // 加载完毕，则注销无限加载事件，以防不必要的加载
					// $.detachInfiniteScroll($('.infinite-scroll'));
					// // 删除加载提示符
					// $('.infinite-scroll-preloader').remove();

					// 隐藏加载
					$('.infinite-scroll-preloader').hide();
				}else {
					$('.infinite-scroll-preloader').show();
				}
				// 否则页码+1，继续加载
				pageNum += 1;
				// 加载结束，可继续加载
				loading = false;
				$.refreshScroller();
			}
		});
	}
	addItems(pageSize, pageNum);

	/**
	 * 下滑屏幕，自动进行分页检索
	 */
	$(document).on('infinite', '.infinite-scroll-bottom', function() {
		if (loading)
			return;
		addItems(pageSize, pageNum);
	});

	/**
	 * 选择新的商品类别之后，重置页码，清空列表，重新查询
	 */
	$('#shopdetail-button-div').on('click', '.button', function(e) {
		productCategoryId = e.target.dataset.productSearchId;
		// 获取商品类别的ID
		if (productCategoryId) {
			// 改变选中类别的样式
			if ($(e.target).hasClass('button-fill')) {
				$(e.target).removeClass('button-fill');
				productCategoryId = '';
			} else {
				$(e.target).addClass('button-fill').siblings().removeClass('button-fill');
			}
			// 置空商品列表
			$('.list-div').empty();
			// 重置页码
			pageNum = 1;
			// 默认加载
			addItems(pageSize, pageNum);
		}
	});

	/**
	 * 点击商品卡片进入商品详情页
	 */
	$('.list-div').on('click', '.card', function(e) {
		var productId = e.currentTarget.dataset.productId;
		window.location.href = '/frontend/productdetail?productId=' + productId;
	});

	/**
	 * 按店铺名字模糊查询的
	 */
	$('#search').on('change', function(e) {
		productName = e.target.value;
		$('.list-div').empty();
		pageNum = 1;
		addItems(pageSize, pageNum);
	});

	/**
	 * 展开侧边栏
	 */
	$('#me').click(function() {
		$.openPanel('#panel-left-demo');
	});

	// 初始化页面
	$.init();
});
